﻿//using System;
//using System.Collections.Generic;
//using System.Text;
//using Petra.Gis.Geometry.Support;

//namespace Petra.Gis.RenderingServices.WPF
//{

//  internal partial class GraphicTransformation
//  {

//    Vector2d _coordSize = new Vector2d();
//    Vector2d _translate = new Vector2d();
//    Vector2d _flip = new Vector2d(1,1);
//    //BoundingBox _drawBbox;

//    public GraphicTransformation()
//    { 
      
//    }

//    public Vector2d coordSize
//    {
//      get { return _coordSize; }
//      set
//      {
//        if (!(value.horizontal > 0 && value.vertical > 0))
//          throw new ArgumentException("invalid coordsize", "coordsize");
//        _coordSize = value;
//      }
//    }

//    public Vector2d translate
//    {
//      get { return _translate; }
//      set { _translate = value;}
//    }

//    public Vector2d flip
//    {
//      get { return _flip; }
//      set
//      {
//        if (!(Math.Abs(value.horizontal) == 1 && Math.Abs(value.vertical) == 1))
//          throw new ArgumentException("invalid flip, vector values must be -1 or 1", "flip");
//        _flip = value;
//      }
//    }


//    public LVertex[] ToLVertex(CoordinateList coords)
//    { 

//      Vector2d reduce;
//      reduce.horizontal = Math.Abs(_drawBbox.right - _drawBbox.left) / _coordSize.horizontal;
//      reduce.vertical = Math.Abs(_drawBbox.top - _drawBbox.bottom) / _coordSize.vertical;

//      LVertex[] RetArray = new LVertex[coords.Count];

//      for(int i=0; i < coords.Count; i++)
//      {
//        RetArray[i].point.X = (int)(((coords[0].X - _drawBbox.left) * _flip.horizontal) / reduce.horizontal);
//        RetArray[i].point.Y = (int)(((coords[0].Y - _drawBbox.bottom) * _flip.vertical) / reduce.vertical);
//        RetArray[i].Next = i + 1;
//      }

//      //reset last pointer
//      RetArray[coords.Count - 1].Next = 0;

//      return RetArray;
//    }



//  }
//}
